export default{
  // 开启命名空间
  namespaced:true,
  
  // 数据节点
  state:() => ({
    // 地址
    address:JSON.parse(uni.getStorageSync('address') || '{}'),
    
    // 用户登录返回的token
    token:uni.getStorageSync('token') || '',
    
    // 用户信息读取
    userInfo:JSON.parse(uni.getStorageSync('userInfo') || '{}'),
    
    // 用于在登录完成后返回购物车的重定向的Object对象
    redirectInfo:null
  }),
  
  //方法

  mutations:{
    updateAddress(state,address){
      // 地址更新
      state.address = address
      // console.log(address)
      this.commit('m_user/saveAddressToStorage')
    },
    
    // 将地址储存进本地
    saveAddressToStorage(state){
      uni.setStorageSync('address',JSON.stringify(state.address))
    },
    
    // 更新用户数据
    updateUserInfo(state,userInfo){
      state.userInfo = userInfo
      
      this.commit('m_user/saveUserInfoToStorage')
    },
    
    // 储存用户数据
    saveUserInfoToStorage(state){
      uni.setStorageSync('userInfo',JSON.stringify(state.userInfo))
    },
    
    // 更新token
    updateToken(state,token){
      state.token = token
      this.commit('m_user/saveTokenToStorage')
    },
    
    // 储存token
    saveTokenToStorage(state){
      uni.setStorageSync('token',state.token)
    },
    
    // 更新重定向对象
    updateRedirectInfo(state,info){
      state.redirectInfo = info
      console.log(state.redirectInfo)
    }
  },
  
  // 获取对象
  getters:{
    addstr(state){
      // 判断地址是否为空
      if(!state.address.provinceName) return ''
      // 不空则拼接
      else{
        return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
      }
    }
  }
}